<?php
/**
 * XIE--Scorpion
 *
 * 用户操作
 */
namespace App\Models\Admin;

use DB,Session,Redirect;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
	protected $table = 'admin_user';
    public $timestamps = false;

	/*
	 *登录操作
	 */
	static function login($user,$pwd)
	{
        $u_list=DB::table('admin_user')->where('admin_user',$user)->get();
        //判断用户名是否存在
        if($u_list){
        	//判断密码是否正确
            if($u_list[0]->admin_pwd == md5($pwd)){
                //判断是否锁定用户
                if($u_list[0]->admin_stu == 0){
                    //存储用户信息session
                    Session::put('admin_id',$u_list[0]->admin_id);
                    Session::put('r',$u_list[0]->admin_rid);
                    Session::put('user',$user);
                    //存储权限
                    $acts=DB::table('admin_role_power')->join('admin_power','admin_power.admin_pid','=','admin_role_power.admin_pid')->where('admin_role_power.admin_rid',$u_list[0]->admin_rid)->where('admin_power_level','!=','0')->get();
                    foreach($acts as $v){
                        $arr[]=$v->admin_power_path;
                    }
                    Session::put('admin_power',$arr);
                    //存储菜单栏
                     $nums=DB::table('admin_role_power')->join('admin_power','admin_power.admin_pid','=','admin_role_power.admin_pid')->where('admin_role_power.admin_rid',$u_list[0]->admin_rid)->get();
                    foreach($nums as $k=>$v){
                        if($v->admin_power_path){
                            $nums[$k]->admin_power_path=substr($v->admin_power_path,7);
                        }
                    }
                    Session::put('num',$nums);

                    //输出信息
                    return array('1','登录成功');

                }else{

                    //用户已锁定
                    return array('0','用户已锁定'); 

                }

            }else{

                //登录失败
                return array('0','密码错误');
            }

        }else{

        	//用户名不存在
        	return array('0','用户名不存在');
        }
	}

	/*
	 *修改密码
	 */
	static function checkPwd($old_pwd,$new_pwd)
	{
        $admin_id=Session::get('admin_id','0');
        if($admin_id=='0'){
        	return '0';
        }

        $u_list=DB::table('admin_user')->where('admin_id',$admin_id)->get();
        
        if($u_list[0]->admin_pwd==$old_pwd){
            DB::table('admin_user')->where('admin_id',$admin_id)->update(array('admin_pwd'=>$new_pwd));
            return '1';
        }else{
        	return '0';
        }
        
	}

    /*
     *管理员列表信息
     */
    static function adminList()
    {
        $list=DB::table('admin_user')->join('admin_role','admin_user.admin_rid','=','admin_role.admin_rid')->where('admin_user.admin_rid','!=','2')->paginate(5);

        return $list;
    }   

    /*
     *角色列表信息
     */
    static function roleList()
    {
        $list=DB::table('admin_role')->where('admin_rid','!=','2')->paginate(5);
        return $list;
    } 

    
    /*
     *执行 增加,删除 的sql
     *
     * $t 表 $d 操作  $v 值 $z  字段
     */
    static function checkTable($t,$d,$v,$z='')
    {
        if($d == 'in'){
            $ok = DB::table($t)->insert($v);
        }else{
            $ok = DB::table($t)->where($z,$v)->delete();
        }
        return $ok;
    }

    /*
     *所有权限
     */
    static function powerList()
    {
        $list = DB::table('admin_power')->get();

        return $list;
    }

    /*
     *特定角色权限
     */
    static function powerUser($rid)
    {
        $list = DB::table('admin_role_power')->join('admin_power','admin_power.admin_pid','=','admin_role_power.admin_pid')->where('admin_rid',$rid)->get();
        $arr=array();
        if($list){
            foreach($list as $v){
                $arr[]=$v->admin_pid;
            }
        }
        return $arr;
    }
    /*
     *权限入库方法
     *
     * $u 角色id  $a 权限id数组
     */
    static function powerAdd($u,$a)
    {
        DB::table('admin_role_power')->where('admin_rid',$u)->delete();
        for($i=0;$i<count($a);$i++){
            $v=$a[$i];
            $arr[]=array('admin_rid'=>$u,'admin_pid'=>$v);

        }
        if(DB::table('admin_role_power')->insert($arr)){

            return 1;

        }else{

            return 0;

        }
    }


    /*
     *前台用户信息
     */
    static function users()
    {
        $list=DB::table('user')->paginate(5);

        return $list;
    }
    
    /*
     *  删除操作
     *
     * $zd  字段 $id  id  $table 表名
     */
    static function dels($zd,$id,$table)
    {
        if(DB::table($table)->where($zd,$id)->delete()){

            return true;
        }else{

            return false;
        }
    }

}